package com.zp.system.entity.bo;

import com.zp.common.core.entity.TreeEntity;
import com.zp.common.core.validate.AddGroup;
import com.zp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;


/**
 * 机构业务对象
 *
 * @author zhang peng
 * @date 2022-12-16
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class SysOrgBo extends TreeEntity<SysOrgBo> {

    /**
     * 机构主键
     */
    @NotBlank(message = "机构主键不能为空" , groups = {EditGroup.class})
    private String orgId;

    /**
     * 机构名称
     */
    @NotBlank(message = "机构名称不能为空" , groups = {AddGroup.class, EditGroup.class})
    private String orgName;

    /**
     * 机构code
     */
    @NotBlank(message = "机构code不能为空" , groups = {AddGroup.class, EditGroup.class})
    private String orgCode;

    /**
     * 联系人邮箱
     */
    private String email;

    /**
     * 联系人地址
     */
    private String address;

    /**
     * 联系人电话
     */
    private String phone;

    /**
     * 联系人
     */
    private String linkMan;

    /**
     * 申请状态
     */
    private String applyStatus;

    /**
     * 上级机构
     */
    private String parentId;

    /**
     * 上级机构集合
     */
    private String parentIds;

    /**
     * 地区名称
     */
    private String region;

    /**
     * 地区编码
     */
    private String regionCode;

    /**
     * 机构logo
     */
    private String orgImg;

    /**
     * 社会信用代码
     */
    private String socialCode;

    /**
     * 行政区划代码-省
     */
    private String province;

    /**
     * 行政区划代码-市/区
     */
    private String city;

    /**
     * 行政区划代码-县/区
     */
    private String county;

    /**
     * 助产标识0否1是
     */
    private String deliverMark;

    /**
     * 监管标识0否1是
     */
    private String superviseMark;

    /**
     * 救治中心标识0否1是
     */
    private String cureMark;

    /**
     * 档案关联标识0否1是
     */
    private String archivesMark;

    /**
     * 机构类型（0—卫健委；1—公立医院；2—私立医院；3—医联体；4—集团医院；5—第三方影像中心；99—其他；这些数据在数据字典内容信息中维护）
     */
    private String orgClass;

    /**
     * 机构等级（1—一级；2—二级；3—3级；）
     */
    private String orgLevel;

    /**
     * 排序
     */
    private Long orderNum;

    /**
     * 备注
     */
    private String remark;
    /**
     * 状态（0正常 1停用）
     */
    private String status;

}
